package org.pucc.data

import scala.collection.mutable.ArrayBuffer
import scala.reflect.ClassTag

/**
 * 规则数据提供者
 */
trait DataProvider {

  def init()

  /**
   * 返回规则库里新加入的规则
   * @param odlArr
   * @param m
   * @tparam T
   * @return
   */
  def increment[T](odlArr: ArrayBuffer[T],f1: String, f2: String)(implicit m: ClassTag[T]): ArrayBuffer[T]


  /**
   * 返回规则库里的全部规则
   * @param database
   * @param table
   * @param m
   * @tparam T
   * @return
   */
  def full[T](f1: String, f2: String)(implicit m: ClassTag[T]): ArrayBuffer[T]

  def close()
}
